Conventional printing devices rely on a mechanically operated carriage to transport a print head in a linear direction as other mechanics advance a print medium in an orthogonal direction. As the print head moves over the print medium an image may be laid down onto the print medium. Compact printers have been developed through technologies that reduce the size of the operating mechanics. However, the principles of providing relative movement between the print head and print medium remain the same as traditional printing devices. Accordingly, these mechanics limit the reduction of size of the printer as well as the material that may be used as the print medium.
Handheld printing devices have been developed that allow an operator to manipulate a handheld device over a print medium in order to print an image onto the medium. In order to print an image (an electronic or digitized version of which may be stored in memory) onto a print medium using these devices, the operator will “scan” or move the print head of the handheld printing device back and forth across the print medium. Unfortunately, these devices are challenged by the unpredictable and nonlinear movements of the device, which may be provided by the operator. That is, the variations of operator induced movements, including nonlinear movements and rotations of the device itself, make it difficult to determine the precise location of the print head with respect to the image (or the electronic version of the image stored in a memory) to be formed on the print medium. This type of positioning error may have deleterious effects of the quality of the printed image.
For example, unlike in the case of conventional printing devices, it is possible for the print head of a handheld printing device to scan over the same locations on the print medium multiple times, which may result in certain portions of the image being printed multiple times. That is, in order to create an image onto a print medium using a conventional printer, a digitized version of the image to be formed is typically stored in a memory. Based on the stored image, the print head, which typically includes multiple ink nozzles laid out in an array in the case of an ink jet printer, is moved back and forth across the print medium as the print medium is incrementally moved or rotated past the print head in order to print the image. As the print head is being moved back and forth across the print medium, the nozzles of the print head may be selectively activated based on the image data stored in memory in order to deposit ink onto the print medium. Since the print medium and the image to be printed on the print medium has a relatively simple and straightforward relationship with the print head, it is relatively simple to create print images using a conventional system. That is, because of the somewhat mechanical relationships between the print head, the digitized image stored in memory, and the print medium, it is relatively simple to compute, anytime during a print job, the location or locations of the nozzles with respect to the digitized image to be printed. Also because of this straight forward relationship between the digitized image, the print head, and the print medium, every portion of the image to be printed is visited only once during the print job, thus avoiding the double printing problems that may be encountered with handheld devices.
On the other hand, the relationship between the print head, the digitized image, and the print medium is more complex with respect to handheld printing devices since the movements of the print head (or the movements of the plurality of ink nozzles that make the print head) is typically controlled by the user and therefore, the movements may be very irregular and nonlinear. As a result, some portions of the image to be printed may be visited more than once, e.g., the print head scanning over the same locations on the print medium more than once where a portion of the image has been already printed. In order to ensure that each portion of the image is visited only once, the locations of each nozzle with respect to the image to be printed must be known throughout a print job.
The complexity of doing such calculations becomes even more daunting when taking into consideration the number of nozzles being currently incorporated in today's print head. For example, in some printers, either conventional or handheld devices, there could be hundreds, thousands, or even tens of thousands of nozzles on the print head. Thus, a handheld printer may require an enormous amount of computational power in order to determine the locations of each nozzle with respect to the image to be formed. Performing such calculations may not be practical and will likely place an enormous burden on the processing capabilities of the handheld devices and may cause the handheld device to miss or skip an image line.